$(function() {
	//===============================关联商品筛选项==================================//
	//点击新增事件
	$("#btnAdd_productCategoryPropertyFilter").click(function(){
		var url = rootPath + "/productProperty/toProductPropertySelector";
		var index = layer.open({
			  type: 2,//弹框类型
			  title: '添加商品属性',//弹框标题
			  area: ['900px', '650px'],//弹框大小，宽高
			  skin: 'layui-layer-lan',//皮肤
			  fixed: false, //是否固定，不固定
			  content: url,//加载内容，可以是一句话也可以是连接
			  shade:[0.8, '#393D49'],//遮罩，透明度以及颜色
			  cancel: function(index, layero){ 
				  layer.close(index)
				  return false; 
			  }  
		});
		layer.full(index);
	});
	//初始化表格
	initProductPropertyFilterTable();
	
	//===============================关联商品属性模版==================================//
	//点击新增事件
	$("#btnAdd_productCategoryPropertyTemplete").click(function(){
		var url = rootPath + "/productPropertyTemplate/toProductPropertyTemplateSelector";
		var index = layer.open({
			  type: 2,//弹框类型
			  title: '添加商品属性模版',//弹框标题
			  area: ['900px', '650px'],//弹框大小，宽高
			  skin: 'layui-layer-lan',//皮肤
			  fixed: false, //是否固定，不固定
			  content: url,//加载内容，可以是一句话也可以是连接
			  shade:[0.8, '#393D49'],//遮罩，透明度以及颜色
			  cancel: function(index, layero){ 
				  layer.close(index)
				  return false; 
			  }  
		});
		layer.full(index);
	});
	//初始化表格
	initProductCategoryPropertyTemplate();
	
	//===============================关联商品品牌=====================================//
	//点击新增事件
	$("#btnAdd_productCategoryBrand").click(function(){
		var url = rootPath + "/productBrand/toProductBrandSelector";
		var index = layer.open({
			  type: 2,//弹框类型
			  title: '添加商品品牌',//弹框标题
			  area: ['900px', '650px'],//弹框大小，宽高
			  skin: 'layui-layer-lan',//皮肤
			  fixed: false, //是否固定，不固定
			  content: url,//加载内容，可以是一句话也可以是连接
			  shade:[0.8, '#393D49'],//遮罩，透明度以及颜色
			  cancel: function(index, layero){ 
				  layer.close(index)
				  return false; 
			  }  
		});
		layer.full(index);
	});
	//初始化表格
	initProductCategoryBrand();
	
	//===============================关联商品规格=====================================//
	//点击新增事件
	$("#btnAdd_productCategorySpec").click(function(){
		var url = rootPath + "/productSpec/toProductSpecSelector";
		var index = layer.open({
			  type: 2,//弹框类型
			  title: '添加商品规格',//弹框标题
			  area: ['900px', '650px'],//弹框大小，宽高
			  skin: 'layui-layer-lan',//皮肤
			  fixed: false, //是否固定，不固定
			  content: url,//加载内容，可以是一句话也可以是连接
			  shade:[0.8, '#393D49'],//遮罩，透明度以及颜色
			  cancel: function(index, layero){ 
				  layer.close(index)
				  return false; 
			  }  
		});
		layer.full(index);
	});
	//初始化表格
	initProductCategorySpec();
});

//商品筛选项
function initProductPropertyFilterTable(){
	// 定义列
	var productCategoryPropertyFilterColumns = [
		{
				field : 'no',
				title : '序号',
				align : 'left',
				valign: 'middle',
				formatter : function(value, row, index) {
					return index + 1;
				}
		},
		{
			field : 'propertyName',
			title : '属性名称',
			align : 'center',
			valign: 'middle',
		},
		{
				field : 'propertyValue',
				title : '属性值',
				align : 'center',
				valign: 'middle',
		},
		{ field: 'sortNo', title: '排序', align: 'center', valign: 'middle',
	    	formatter: function(value,row,index){
	    		
	    		var options = $('#productCategoryPropertyFilterTable').bootstrapTable("getOptions");
	    		var pageNumber = options.pageNumber;
	    		var lastRowIndex = $('#productCategoryPropertyFilterTable').bootstrapTable('getData').length;
	    		var strHtml = "";
	    		if (index != 0 || pageNumber != 1) {
	    			strHtml += "<a class='btn btn-primary btn-xs' onclick='rowSort(1, 1, "+row.id+", \"PRODUCT_CATEGORY_ID\", "+row.productCategoryId+")'>上移</a>";
	    		}
	    		if (lastRowIndex - 1 != index) {
	    			strHtml += "<a class='btn btn-primary btn-xs' onclick='rowSort(1, -1, "+row.id+", \"PRODUCT_CATEGORY_ID\", "+row.productCategoryId+")'>下移</a>";
	    		}
	    		if (index != 0 || pageNumber != 1) {
	    			strHtml += "<a class='btn btn-primary btn-xs' onclick='rowSort(1, 0, "+row.id+", \"PRODUCT_CATEGORY_ID\", "+row.productCategoryId+")'>置顶</a>";
	    		}
	    		return strHtml;
	    	}
	    },
	    {	
			field : '#',
			title : '操作',
			align : 'center',
			valign: 'middle',
			formatter : function(value, row, index) {
				return "<a class='btn btn-danger btn-xs' href='javaScript:void(0);'onclick='removePropertyFilter(\""+row.id+"\")'>删除</a>";
			}
		}];
	
	// 定义查询回调函数（查询参数在此设置）
	var productPropertyTemplateQueryParams = function(params) {
		var productCategoryId =  $("#productCategoryId").val();
		return {
			rows : params.limit, // 页面大小
			page : params.pageNumber, // 页码
			productCategoryId : productCategoryId
		};
	};
	
	var url = rootPath + "/productCategoryPropertyFilter/listProductCategoryPropertyFilterPage"; // 请求json数据的服务器地址
	sys.initTable('productCategoryPropertyFilterTable', {
		url : url,
		queryParams : productPropertyTemplateQueryParams,
		columns : productCategoryPropertyFilterColumns,
		striped : true,
		clickToSelect : true
	});
	
}

//弹窗页面选择的商品属性，添加到的列表中（父级方法，由于子页面调用）
function addPropertyToTable(data){
	// 去重判断
	var jsonData = $("#productCategoryPropertyFilterTable").bootstrapTable("getData");
	if(jsonData && jsonData.length > 0){
		for(var i = 0 ; i < jsonData.length; i++){
			if(jsonData[i].propertyName == data.propertyName && jsonData[i].propertyValue == data.propertyValue){
				return false;
			}
		}
	}
	$.ajax({
		type: 'POST',
		url: rootPath + '/productCategoryPropertyFilter/saveOrUpdateProductCategoryPropertyFilter',
		data: {productCategoryId: $('#productCategoryId').val(),
			propertyName: data.propertyName,
			propertyValue: data.propertyValue,
			sortNo: 0},
		dataType: 'json',
		success: function(result){
			if (result.code != 0) {
				data.id = result.id;
				$("#productCategoryPropertyFilterTable").bootstrapTable("append", data);
			}
		}
	})
	
}

//从商品属性模板中将属性移除
function removePropertyFilter(id){
	showConfirm("确定要将该商品属性删除？", function(){
		$.ajax({
			type: 'POST',
			url: rootPath + '/productCategoryPropertyFilter/removeProductCategoryPropertyFilter',
			data: {id: id },
			dataType: 'json',
			success: function(result){ 
				if (result.code != 0) {
					$("#productCategoryPropertyFilterTable").bootstrapTable("remove",{field: 'id', values: [Number(id)]});
				}
			}
		})
	})
}

/**
 * 排序
 * @param tableFlag 表标记
 * @param direction 排序移动方向 1 上移 0 置顶 -1 下移
 * @param id 主键ID
 * @param parentColumnName 父类名
 * @param parentId 父类ID
 */
function rowSort(tableFlag, direction, id, parentColumnName, parentId) { 
	var url = rootPath + '/sort';
	var tableName = "";
	if (tableFlag == "1") {
		tableName = "eb_product_category_property_filter";
	} else if (tableFlag == "2") {
		tableName = "eb_product_category_property_template";
	} else if (tableFlag == "3") {
		tableName = "eb_product_category_brand";
	} else if (tableFlag == "4") {
		tableName = "eb_product_category_spec";
	}  
	$.ajax({
		type: 'POST',
		url: url,
		data: {
			direction: direction, 
			tableName: tableName, 
			id: id, 
			parentColumnName: parentColumnName, 
			parentId: parentId
		},
		success: function(data){
			if (data.code == '1') {  
				if (tableFlag == "1") {
					initProductPropertyFilterTable();
				} else if (tableFlag == "2") {
					initProductCategoryPropertyTemplate();
				} else if (tableFlag == "3") {
					initProductCategoryBrand(); 
				} else if (tableFlag == "4") { 
					initProductCategorySpec();
				}
			}
		}
	})
}

//初始化关联商品属性模版
function initProductCategoryPropertyTemplate(){
	// 定义列
	var columns = [
		{
				field : 'no',
				title : '序号',
				align : 'left',
				formatter : function(value, row, index) {
					return index + 1;
				}
		},
		{
				field : 'propertyTemplateName',
				title : '模版名称',
				align : 'center',
				valign : 'middle'
		},
		{ field: 'sortNo', title: '排序', align: 'center', valign: 'middle',
	    	formatter: function(value,row,index){
	    		
	    		var options = $('#productCategoryPropertyTemplateTable').bootstrapTable("getOptions");
	    		var pageNumber = options.pageNumber;
	    		var lastRowIndex = $('#productCategoryPropertyTemplateTable').bootstrapTable('getData').length;
	    		var strHtml = "";
	    		if (index != 0 || pageNumber != 1) {
	    			strHtml += "<a class='btn btn-primary btn-xs' onclick='rowSort(2, 1, "+row.id+", \"PRODUCT_CATEGORY_ID\", "+row.productCategoryId+")'>上移</a>";
	    		}
	    		if (lastRowIndex - 1 != index) {
	    			strHtml += "<a class='btn btn-primary btn-xs' onclick='rowSort(2, -1, "+row.id+", \"PRODUCT_CATEGORY_ID\", "+row.productCategoryId+")'>下移</a>";
	    		}
	    		if (index != 0 || pageNumber != 1) {
	    			strHtml += "<a class='btn btn-primary btn-xs' onclick='rowSort(2, 0, "+row.id+", \"PRODUCT_CATEGORY_ID\", "+row.productCategoryId+")'>置顶</a>";
	    		}
	    		return strHtml;
	    	}
	    },
	    {	
			field : '#',
			title : '操作',
			align : 'center',
			valign: 'middle',
			formatter : function(value, row, index) {
				return "<a class='btn btn-danger btn-xs' href='javaScript:void(0);'onclick='removePropertyTemplate(\""+row.id+"\")'>删除</a>";
			}
		}];
			
			
	// 定义查询回调函数（查询参数在此设置）
	var queryParams = function(params) {
		var productCategoryId =  $("#productCategoryId").val();
		return {
			rows : params.limit, // 页面大小
			page : params.pageNumber, // 页码
			productCategoryId : productCategoryId
		};
	};
	
	var url = rootPath + "/productCategoryPropertyTemplate/listProductCategoryPropertyTemplatePage?productCategoryId="+$('#productCategoryId').val(); // 请求json数据的服务器地址
	sys.initTable('productCategoryPropertyTemplateTable', {
		url : url,
		queryParams : queryParams,
		columns : columns,
		striped : true,
		clickToSelect : true
	});
}

//弹窗页面选择的商品属性，添加到的列表中（父级方法，由于子页面调用）
function addPropertyTemplateToTable(data){
	// 去重判断
	var jsonData = $("#productCategoryPropertyTemplateTable").bootstrapTable("getData");
	if(jsonData && jsonData.length > 0){
		for(var i = 0 ; i < jsonData.length; i++){ 
			if(jsonData[i].propertyTemplateId == data.templateId){
				return false;
			}
		}
	} 
	$.ajax({
		type: 'POST',
		url: rootPath + '/productCategoryPropertyTemplate/saveOrUpdateProductCategoryPropertyTemplate',
		data: {productCategoryId: $('#productCategoryId').val(),
			propertyTemplateId: data.id,
			propertyTemplateName: data.templateName,
			sortNo: 0},
		dataType: 'json',
		success: function(result){
			if (result.code != 0) {
				data.id = result.id; 
				data.propertyTemplateId = data.templateId,
				data.propertyTemplateName = data.templateName,
				$("#productCategoryPropertyTemplateTable").bootstrapTable("append", data);
			}
		}
	})
	
}

/**
 * 商品属性模版删除
 * @param id  
 */
function removePropertyTemplate(id){
	showConfirm("确定要将该商品属性模版删除？", function(){
		$.ajax({
			type: 'POST',
			url: rootPath + '/productCategoryPropertyTemplate/removeProductCategoryPropertyTemplate',
			data: {id: id },
			dataType: 'json',
			success: function(result){ 
				if (result.code != 0) {
					$("#productCategoryPropertyTemplateTable").bootstrapTable("remove",{field: 'id', values: [Number(id)]});
				}
			}
		})
	})
}

//初始化关联商品品牌
function initProductCategoryBrand(){
	// 定义列
	var columns = [
		{
				field : 'no',
				title : '序号',
				align : 'left',
				formatter : function(value, row, index) {
					return index + 1;
				}
		},
		{
				field : 'brandNameCh',
				title : '品牌名称',
				align : 'center',
				valign : 'middle'
		},
		{ field: 'sortNo', title: '排序', align: 'center', valign: 'middle',
	    	formatter: function(value,row,index){
	    		
	    		var options = $('#productCategoryBrandTable').bootstrapTable("getOptions");
	    		var pageNumber = options.pageNumber;
	    		var lastRowIndex = $('#productCategoryBrandTable').bootstrapTable('getData').length;
	    		var strHtml = "";
	    		if (index != 0 || pageNumber != 1) {
	    			strHtml += "<a class='btn btn-primary btn-xs' onclick='rowSort(3, 1, "+row.id+", \"PRODUCT_CATEGORY_ID\", "+row.productCategoryId+")'>上移</a>";
	    		}
	    		if (lastRowIndex - 1 != index) {
	    			strHtml += "<a class='btn btn-primary btn-xs' onclick='rowSort(3, -1, "+row.id+", \"PRODUCT_CATEGORY_ID\", "+row.productCategoryId+")'>下移</a>";
	    		}
	    		if (index != 0 || pageNumber != 1) {
	    			strHtml += "<a class='btn btn-primary btn-xs' onclick='rowSort(3, 0, "+row.id+", \"PRODUCT_CATEGORY_ID\", "+row.productCategoryId+")'>置顶</a>";
	    		}
	    		return strHtml;
	    	}
	    },
	    {	
			field : '#',
			title : '操作',
			align : 'center',
			valign: 'middle',
			formatter : function(value, row, index) {
				return "<a class='btn btn-danger btn-xs' href='javaScript:void(0);'onclick='removeBrand(\""+row.id+"\")'>删除</a>";
			}
		}];
			
			
	// 定义查询回调函数（查询参数在此设置）
	var queryParams = function(params) {
		var productCategoryId =  $("#productCategoryId").val();
		return {
			rows : params.limit, // 页面大小
			page : params.pageNumber, // 页码
			productCategoryId : productCategoryId
		};
	};
	
	var url = rootPath + "/productCategoryBrand/listProductCategoryBrandPage?productCategoryId="+$('#productCategoryId').val(); // 请求json数据的服务器地址
	sys.initTable('productCategoryBrandTable', {
		url : url,
		queryParams : queryParams,
		columns : columns,
		striped : true,
		clickToSelect : true
	});
}

//弹窗页面选择的商品属性，添加到的列表中（父级方法，由于子页面调用）
function addBrandToTable(data){
	var brandCode = Number(data.brandCode);
	// 去重判断
	var jsonData = $("#productCategoryBrandTable").bootstrapTable("getData");
	if(jsonData && jsonData.length > 0){
		for(var i = 0 ; i < jsonData.length; i++){
			if(jsonData[i].brandCode == brandCode){
				return false;
			}
		}
	}
	$.ajax({
		type: 'POST',
		url: rootPath + '/productCategoryBrand/saveOrUpdateProductCategoryBrand',
		data: {productCategoryId: $('#productCategoryId').val(),
			brandCode: brandCode,
			sortNo: 0},
		dataType: 'json',
		success: function(result){
			if (result.code != 0) {
				data.id = result.id;
				$("#productCategoryBrandTable").bootstrapTable("append", data);
			}
		}
	})
	
}

/**
 * 商品品牌删除
 * @param id  
 */
function removeBrand(id){
	showConfirm("确定要将该商品品牌删除？", function(){
		$.ajax({
			type: 'POST',
			url: rootPath + '/productCategoryBrand/removeProductCategoryBrand',
			data: {id: id },
			dataType: 'json',
			success: function(result){ 
				if (result.code != 0) {
					$("#productCategoryBrandTable").bootstrapTable("remove",{field: 'id', values: [Number(id)]});
				}
			}
		})
	})
}

//初始化关联商品规格
function initProductCategorySpec(){
	// 定义列
	var columns = [
		{
			field : 'no',
			title : '序号',
			align : 'left',
			formatter : function(value, row, index) {
				return index + 1;
			}
		},
		{
			field : 'specName',
			title : '规格名称',
			align : 'center',
			valign : 'middle'
		},
		{
			field : 'specValue',
			title : '规格值',
			align : 'center',
			valign : 'middle'
		},
		{ field: 'sortNo', title: '排序', align: 'center', valign: 'middle',
	    	formatter: function(value,row,index){
	    		
	    		var options = $('#productCategorySpecTable').bootstrapTable("getOptions");
	    		var pageNumber = options.pageNumber;
	    		var lastRowIndex = $('#productCategorySpecTable').bootstrapTable('getData').length;
	    		var strHtml = "";
	    		if (index != 0 || pageNumber != 1) {
	    			strHtml += "<a class='btn btn-primary btn-xs' onclick='rowSort(4, 1, "+row.id+", \"PRODUCT_CATEGORY_ID\", "+row.productCategoryId+")'>上移</a>";
	    		}
	    		if (lastRowIndex - 1 != index) {
	    			strHtml += "<a class='btn btn-primary btn-xs' onclick='rowSort(4, -1, "+row.id+", \"PRODUCT_CATEGORY_ID\", "+row.productCategoryId+")'>下移</a>";
	    		}
	    		if (index != 0 || pageNumber != 1) {
	    			strHtml += "<a class='btn btn-primary btn-xs' onclick='rowSort(4, 0, "+row.id+", \"PRODUCT_CATEGORY_ID\", "+row.productCategoryId+")'>置顶</a>";
	    		}
	    		return strHtml;
	    	}
	    },
	    {	
			field : '#',
			title : '操作',
			align : 'center',
			valign: 'middle',
			formatter : function(value, row, index) {
				return "<a class='btn btn-danger btn-xs' href='javaScript:void(0);'onclick='removeSpec(\""+row.id+"\")'>删除</a>";
			}
		}];
			
			
	// 定义查询回调函数（查询参数在此设置）
	var queryParams = function(params) {
		var productCategoryId =  $("#productCategoryId").val();
		return {
			rows : params.limit, // 页面大小
			page : params.pageNumber, // 页码
			productCategoryId : productCategoryId
		};
	};
	
	var url = rootPath + "/productCategorySpec/listProductCategorySpecPage?productCategoryId="+$('#productCategoryId').val(); // 请求json数据的服务器地址
	sys.initTable('productCategorySpecTable', {
		url : url,
		queryParams : queryParams,
		columns : columns,
		striped : true,
		clickToSelect : true
	});
}

//弹窗页面选择的商品属性，添加到的列表中（父级方法，由于子页面调用）
function addSpecToTable(data){
	var specName = data.specName;
	// 去重判断
	var jsonData = $("#productCategorySpecTable").bootstrapTable("getData");
	if(jsonData && jsonData.length > 0){
		for(var i = 0 ; i < jsonData.length; i++){
			if(jsonData[i].specName == specName){
				return false;
			}
		}
	} 
	$.ajax({
		type: 'POST',
		url: rootPath + '/productCategorySpec/saveOrUpdateProductCategorySpec',
		data: {
			productCategoryId: $('#productCategoryId').val(),
			specName: specName,
			sortNo: 0},
		dataType: 'json',
		success: function(result){
			if (result.code != 0) {
				data.id = result.id;
				$("#productCategorySpecTable").bootstrapTable("append", data);
			}
		}
	})
	
}

/**
 * 商品规格删除
 * @param id  
 */
function removeSpec(id){
	showConfirm("确定要将该商品规格删除？", function(){
		$.ajax({
			type: 'POST',
			url: rootPath + '/productCategorySpec/removeProductCategorySpec',
			data: {id: id },
			dataType: 'json',
			success: function(result){ 
				if (result.code != 0) {
					$("#productCategorySpecTable").bootstrapTable("remove",{field: 'id', values: [Number(id)]});
				}
			}
		})
	})
}